home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / GIMP 2.6.8 / gimp-2.6.8-i686-setup.exe / {app} / share / gimp / 2.0 / scripts / 3d-outline.scm next >
Text File  |  2009-12-15  |  8KB  |  187 lines

  1. ; 3d-outlined-patterned-shadowed-and-bump-mapped-logo :)
  2. ; creates outlined border of a text with patterns
  3. ;
  4. ; GIMP - The GNU Image Manipulation Program
  5. ; Copyright (C) 1995 Spencer Kimball and Peter Mattis
  6. ;
  7. ; 3d-outline creates outlined border of a text with patterns
  8. ; Copyright (C) 1998 Hrvoje Horvat
  9. ;
  10. ; This program is free software; you can redistribute it and/or modify
  11. ; it under the terms of the GNU General Public License as published by
  12. ; the Free Software Foundation; either version 2 of the License, or
  13. ; (at your option) any later version.
  14. ;
  15. ; This program is distributed in the hope that it will be useful,
  16. ; but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. ; GNU General Public License for more details.
  19. ;
  20. ; You should have received a copy of the GNU General Public License
  21. ; along with this program; if not, write to the Free Software
  22. ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23.  
  24. (define (apply-3d-outline-logo-effect img
  25.                                       logo-layer
  26.                                       text-pattern
  27.                                       outline-blur-radius
  28.                                       shadow-blur-radius
  29.                                       bump-map-blur-radius
  30.                                       noninteractive
  31.                                       s-offset-x
  32.                                       s-offset-y)
  33.   (let* (
  34.         (width (car (gimp-drawable-width logo-layer)))
  35.         (height (car (gimp-drawable-height logo-layer)))
  36.         (bg-layer (car (gimp-layer-new img width height
  37.                                        RGB-IMAGE "Background" 100 NORMAL-MODE)))
  38.         (pattern-layer (car (gimp-layer-new img width height
  39.                                        RGBA-IMAGE "Pattern" 100 NORMAL-MODE)))
  40.         (alpha-layer 0)
  41.         (shadow-layer 0)
  42.         (pattern-mask 0)
  43.         (floating-sel 0)
  44.         )
  45.  
  46.     (gimp-context-push)
  47.  
  48.     (gimp-selection-none img)
  49.     (script-fu-util-image-resize-from-layer img logo-layer)
  50.     (script-fu-util-image-add-layers img pattern-layer bg-layer)
  51.     (gimp-context-set-background '(255 255 255))
  52.     (gimp-edit-fill bg-layer BACKGROUND-FILL)
  53.     (gimp-edit-clear pattern-layer)
  54.     (gimp-layer-set-lock-alpha logo-layer TRUE)
  55.     (gimp-context-set-foreground '(0 0 0))
  56.     (gimp-edit-fill logo-layer FOREGROUND-FILL)
  57.     (gimp-layer-set-lock-alpha logo-layer FALSE)
  58.     (plug-in-gauss-iir RUN-NONINTERACTIVE img logo-layer outline-blur-radius TRUE TRUE)
  59.  
  60.     (gimp-drawable-set-visible pattern-layer FALSE)
  61.     (set! alpha-layer (car (gimp-image-merge-visible-layers img CLIP-TO-IMAGE)))
  62.     (plug-in-edge RUN-NONINTERACTIVE img alpha-layer 2 1 0)
  63.     (gimp-drawable-set-name alpha-layer "Bump map")
  64.     (set! shadow-layer (car (gimp-layer-copy alpha-layer TRUE)))
  65.     (gimp-drawable-set-name shadow-layer "Edges")
  66.     (script-fu-util-image-add-layers img shadow-layer)
  67.     (plug-in-gauss-iir RUN-NONINTERACTIVE img alpha-layer bump-map-blur-radius TRUE TRUE)
  68.  
  69.     (gimp-selection-all img)
  70.     (gimp-context-set-pattern text-pattern)
  71.     (gimp-edit-bucket-fill pattern-layer
  72.                            PATTERN-BUCKET-FILL NORMAL-MODE 100 0 FALSE 0 0)
  73.     (plug-in-bump-map noninteractive img pattern-layer alpha-layer
  74.                       110.0 45.0 4 0 0 0 0 TRUE FALSE 0)
  75.  
  76.     (set! pattern-mask (car (gimp-layer-create-mask pattern-layer ADD-ALPHA-MASK)))
  77.     (gimp-layer-add-mask pattern-layer pattern-mask)
  78.  
  79.     (gimp-selection-all img)
  80.     (gimp-edit-copy shadow-layer)
  81.     (set! floating-sel (car (gimp-edit-paste pattern-mask FALSE)))
  82.     (gimp-floating-sel-anchor floating-sel)
  83.  
  84.     (gimp-layer-remove-mask pattern-layer MASK-APPLY)
  85.     (gimp-invert shadow-layer)
  86.     (gimp-drawable-set-name shadow-layer "Drop shadow")
  87.     (plug-in-gauss-iir RUN-NONINTERACTIVE img shadow-layer shadow-blur-radius TRUE TRUE)
  88.  
  89.     (gimp-drawable-offset shadow-layer
  90.                           FALSE OFFSET-BACKGROUND s-offset-x s-offset-y)
  91.  
  92.     (gimp-drawable-set-visible alpha-layer FALSE)
  93.     (gimp-drawable-set-visible pattern-layer TRUE)
  94.     ;;(set! final (car (gimp-image-flatten img)))
  95.  
  96.     (gimp-context-pop)
  97.   )
  98. )
  99.  
  100. (define (script-fu-3d-outline-logo-alpha img
  101.                                          logo-layer
  102.                                          text-pattern
  103.                                          outline-blur-radius
  104.                                          shadow-blur-radius
  105.                                          bump-map-blur-radius
  106.                                          noninteractive
  107.                                          s-offset-x
  108.                                          s-offset-y)
  109.   (begin
  110.     (gimp-image-undo-group-start img)
  111.     (apply-3d-outline-logo-effect img logo-layer text-pattern
  112.                                   outline-blur-radius shadow-blur-radius
  113.                                   bump-map-blur-radius noninteractive
  114.                                   s-offset-x s-offset-y)
  115.     (gimp-image-undo-group-end img)
  116.     (gimp-displays-flush)
  117.   )
  118. )
  119.  
  120. (script-fu-register "script-fu-3d-outline-logo-alpha"
  121.   _"3D _Outline..."
  122.   _"Outline the selected region (or alpha) with a pattern and add a drop shadow"
  123.   "Hrvoje Horvat (hhorvat@open.hr)"
  124.   "Hrvoje Horvat"
  125.   "07 April, 1998"
  126.   "RGBA"
  127.   SF-IMAGE       "Image"               0
  128.   SF-DRAWABLE    "Drawable"            0
  129.   SF-PATTERN    _"Pattern"             "Parque #1"
  130.   SF-ADJUSTMENT _"Outline blur radius" '(5 1 200 1 10 0 1)
  131.   SF-ADJUSTMENT _"Shadow blur radius"  '(10 1 200 1 10 0 1)
  132.   SF-ADJUSTMENT _"Bumpmap (alpha layer) blur radius" '(5 1 200 1 10 0 1)
  133.   SF-TOGGLE     _"Default bumpmap settings" TRUE
  134.   SF-ADJUSTMENT _"Shadow X offset"     '(0 0 200 1 5 0 1)
  135.   SF-ADJUSTMENT _"Shadow Y offset"     '(0 0 200 1 5 0 1)
  136. )
  137.  
  138. (script-fu-menu-register "script-fu-3d-outline-logo-alpha"
  139.                          "<Image>/Filters/Alpha to Logo")
  140.  
  141.  
  142. (define (script-fu-3d-outline-logo text-pattern
  143.                                    text
  144.                                    size
  145.                                    font
  146.                                    outline-blur-radius
  147.                                    shadow-blur-radius
  148.                                    bump-map-blur-radius
  149.                                    noninteractive
  150.                                    s-offset-x
  151.                                    s-offset-y)
  152.   (let* (
  153.         (img (car (gimp-image-new 256 256 RGB)))
  154.         (text-layer (car (gimp-text-fontname img -1 0 0 text 30 TRUE size PIXELS font)))
  155.         )
  156.     (gimp-image-undo-disable img)
  157.     (apply-3d-outline-logo-effect img text-layer text-pattern
  158.                                   outline-blur-radius shadow-blur-radius
  159.                                   bump-map-blur-radius noninteractive
  160.                                   s-offset-x s-offset-y)
  161.     (gimp-image-undo-enable img)
  162.     (gimp-display-new img)
  163.   )
  164. )
  165.  
  166. (script-fu-register "script-fu-3d-outline-logo"
  167.   _"3D _Outline..."
  168.   _"Create a logo with outlined text and a drop shadow"
  169.   "Hrvoje Horvat (hhorvat@open.hr)"
  170.   "Hrvoje Horvat"
  171.   "07 April, 1998"
  172.   ""
  173.   SF-PATTERN    _"Pattern"             "Parque #1"
  174.   SF-STRING     _"Text"                "GIMP"
  175.   SF-ADJUSTMENT _"Font size (pixels)"  '(100 2 1000 1 10 0 1)
  176.   SF-FONT       _"Font"                "RoostHeavy"
  177.   SF-ADJUSTMENT _"Outline blur radius" '(5 1 200 1 10 0 1)
  178.   SF-ADJUSTMENT _"Shadow blur radius"  '(10 1 200 1 10 0 1)
  179.   SF-ADJUSTMENT _"Bumpmap (alpha layer) blur radius" '(5 1 200 1 10 0 1)
  180.   SF-TOGGLE     _"Default bumpmap settings" TRUE
  181.   SF-ADJUSTMENT _"Shadow X offset"     '(0 0 200 1 5 0 1)
  182.   SF-ADJUSTMENT _"Shadow Y offset"     '(0 0 200 1 5 0 1)
  183. )
  184.  
  185. (script-fu-menu-register "script-fu-3d-outline-logo"
  186.                          "<Image>/File/Create/Logos")
  187.